import Dialog from '@vant/weapp/dialog/dialog';
import Toast from '@vant/weapp/toast/toast';
const app = getApp()
const db = wx.cloud.database();
const _ = db.command;
Page({

  data: {
    myOpenid: "",
    userInfo: {},
    // isLogin: false,
    hasUserInfo: false,
  },

  // 选择登录方式
  chooseLogin() {
    var that = this;
    // 要登录就先拿到openid
    wx.cloud.callFunction({
      name: 'login',
      data: {},
      success: res => {
        console.log('获取openid成功 ', res.result.openid)
        // 给全局整个小程序用
        app.globalData.openid = res.result.openid
        // 给这个页面存数据用
        that.data.myOpenid = res.result.openid
      },
      fail: err => {
        console.error('获取openid失败', err)
      }
    })
    // Dialog.confirm({
    //     title: '登录方式',
    //     confirmButtonText: '授权登录',
    //     cancelButtonText: '电话号码登录',
    //   })
    //   .then(() => {
        // 微信授权登录
        wx.getUserProfile({
          desc: '获取信息仅用于信息展示',
          success: (res) => {
            console.log(res);
            that.data.userInfo = res.userInfo;
            this.setData({
              userInfo: that.data.userInfo,
            })
            // 将获取到的信息存进缓存
            wx.setStorage({
              data: {
                avatarUrl: that.data.userInfo.avatarUrl,
                nickName: that.data.userInfo.nickName,
                openid: that.data.myOpenid
              },
              key: 'userInfo',
              success(res) {
                // 刷新页面
                that.setData({
                  hasUserInfo: true
                })
              }
            })
            // 存进数据库，先查查数据库有没有这个人
            db.collection('userInfo').where({
              _openid: that.data.myOpenid
            }).get({
              success(res) {
                // 没有则入库
                if (!res.data[0]) {
                  db.collection('userInfo').add({
                    data: {
                      name: that.data.userInfo.nickName,
                      avatarUrl: that.data.userInfo.avatarUrl,
                      haveSkechs: [], //上传过的线稿
                      haveLearnPics: [], //上传过的参考图片
                      haveColoizations: [] //得到过的风格转换图片
                    },
                    success(res) {
                      console.log("在数据库添加该用户成功")
                    }
                  })
                }
                // 有该用户则不进行任何操作
              }
            })
          }
        })
      // })
      // .catch(() => {
      //   // 电话号码登录
      //   wx.navigateTo({
      //     url: '../login/login',
      //   })
      // });
  },

  // 查询数据库拥有线稿
  getSkechs() {
    var that = this;
    // 未登录
    if (!that.data.hasUserInfo) {
      Toast.fail("请登录后操作")
    } else {
      wx.navigateTo({
        url: '../history/history?type='+"skech",
      })
    }
  },

  getLearnPics() {
    var that = this;
    if (!that.data.hasUserInfo) {
      Toast.fail("请登录后操作")
    } else {
      wx.navigateTo({
        url: '../history/history?type='+"learn",
      })
    }
  },

  getColoizations() {
    var that = this;
    if (!that.data.hasUserInfo) {
      Toast.fail("请登录后操作")
    } else {
      wx.navigateTo({
        url: '../history/history?type='+"coloization",
      })
    }
  },

  // 退出登录
  signOut() {
    wx.showModal({
      title: '提示',
      content: '确定退出吗',
      cancelText: '取消',
      confirmText: '确定',
      confirmColor: '#ED9292',
      cancelColor: '	#BEBEBE',
      success(res) {
        if (res.confirm) {
          wx.removeStorage({
            key: 'userInfo',
            success(res) {
              wx.reLaunch({
                url: '/pages/my/my',
              })
            }
          })
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    // 每次进来查一下缓存
    wx.getStorage({
      key: 'userInfo',
      success(res) {
        console.log("有缓存数据", res)
        // 即that.data.hasUserInfo= true，直接拿缓存并显示
        that.setData({
          hasUserInfo: true,
          userInfo: res.data
        })
      },
      fail(err) {
        console.log("未有缓存");
      }
    })
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})